/*把file1中的内容复制到file2中*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>

#define N 1024

//./03-fgetc filename
//arg[0] argv[1]
int main(int argc, char const *argv[])
{
    FILE * fp_src;  //
    FILE * fp_dst;

    int ch;
    char buf[N]={0};
    if (argc != 3)//判断参数的个数必须是2个参数
    {
        printf("运行程序时请代入参数: ./fputc file1 file2 \n");
        exit(-1);
    }

    fp_src = fopen(argv[1],"r");//只读方式打开文件
    if (fp_src == NULL)
    {
        perror("fp_src: fopen");
        exit(-1);
    }

    fp_dst = fopen(argv[2],"w");//只写的方式打开文件，文件不存在创建，文件存在清空
    if (fp_dst == NULL)
    {
        perror("fp_dst: fopen");
        exit(-1);
    }

    //fgets  不等于NULL ，说明没有读到文件末尾
    //fgets  等于NULL ，说明读到文件末尾
    while (fgets(buf,N,fp_src) != NULL)
    {
        fputs(buf,fp_dst);
    }
    
    fclose(fp_src);
    fclose(fp_dst);

    return 0;
}